package SERVER;
import java.util.ArrayList;
import java.util.Random;

/**
 * Klasa reprezentuj�ca talie kart
 * @author Sk�rcia
 *
 */
class Deck
{
	/**
	 * Tablica przechowuj�ca karty
	 */
	private ArrayList<Card>  card;
	/**
	 * Konstruktor klasy. Tworzy potasowan� talie kart.
	 */
	Deck() //tworzenie potasowanej talii
	{
		card = new ArrayList<Card>();
		for (int i=0; i<52; i++) //Tworzenie talii w kolejno�ci rosn�cej
		{
			card.add(new Card(i+1));
		}
		shuffleCards(); //Tasowanie istniej�cej talii
	}
	/**
	 * Metoda tasuj�ca karty w konstruktorze
	 */
	public void shuffleCards()
	{
		Random generator = new Random();
		for (int i=0; i<card.size(); i++)
		{
			Card tmp = new Card(card.get(i).getId());
			int a = generator.nextInt(52);
			card.get(i).setCard(card.get(a).getId());
			card.get(a).setCard(tmp.getId());
		}
	}
	public Card getCardFromTop()
	{
		Card card_to_return = new Card(card.get(0).getId());
		card.remove(0);
		return card_to_return;
	}
}